//hhhh
#include "../sc_defines.h"
#include "../../../../game/Player.h"
#include "../../../../game/GameObject.h"
#include "../../../../game/GossipDef.h"
#include "../../../../game/QuestDef.h"
//传送NPC的脚本
bool GossipHello_teleport(Player *player, Creature *_Creature)
{
   //判断是否战斗状态
   if(player->isInCombat())
   {
      player->SEND_GOSSIP_MENU(100007,_Creature->GetGUID());
      return true;
   }

    player->ADD_GOSSIP_ITEM( 8, "【主城传送】 免费传送各大主城 " , 1, GOSSIP_ACTION_INFO_DEF + 1);
	player->ADD_GOSSIP_ITEM( 8, "【特别地图】 免费传送特别地图 " , 1, GOSSIP_ACTION_INFO_DEF + 38);
    player->ADD_GOSSIP_ITEM( 4, "【初级副本】 免费传送初级副本 "        , 1, GOSSIP_ACTION_INFO_DEF + 2);
    player->ADD_GOSSIP_ITEM( 4, "【中级副本】 免费传送中级副本 "       , 1, GOSSIP_ACTION_INFO_DEF + 3);
    player->ADD_GOSSIP_ITEM( 4, "【团队副本】 免费传送团队副本 "       , 1, GOSSIP_ACTION_INFO_DEF + 4);
    player->ADD_GOSSIP_ITEM( 4, "【野外BOSS】 免费传送世界首领 "   , 1, GOSSIP_ACTION_INFO_DEF + 5);
    player->ADD_GOSSIP_ITEM( 9, "【战场竞技】 免费传送到各战场 "          , 1, GOSSIP_ACTION_INFO_DEF + 6);
	if(player->getLevel() >=58)
	{
    player->ADD_GOSSIP_ITEM( 2, "【外域传送】 免费传送到外域 "       , 1, GOSSIP_ACTION_INFO_DEF + 7);
    player->ADD_GOSSIP_ITEM( 2, "【外域副本】 免费传送外域副本 "       , 1, GOSSIP_ACTION_INFO_DEF + 20); 
	}
	player->ADD_GOSSIP_ITEM( 2, "【其他地图】 免费传送其他地图 "       , 1, GOSSIP_ACTION_INFO_DEF + 77); 
	if(player->GetSession()->GetSecurity() >=1 )
	{
    player->ADD_GOSSIP_ITEM( 4, "【会员地图】 会员专用传送 "     , 1, GOSSIP_ACTION_INFO_DEF + 14);
	}
    //player->ADD_GOSSIP_ITEM( 1, "【领取工资】 两小时领取一次 "  , 22, GOSSIP_ACTION_INFO_DEF + 10);
    player->ADD_GOSSIP_ITEM( 0, "【开飞行点】 免费开通所有飞行点 "          , 23, GOSSIP_ACTION_INFO_DEF + 11);   
    player->ADD_GOSSIP_ITEM( 3, "【技能提升】 提升技能熟练度 "  , 26, GOSSIP_ACTION_INFO_DEF + 13);
    //player->ADD_GOSSIP_ITEM( 0, "【该脚本由ScriptDevCN制作】 "  , 27, GOSSIP_ACTION_INFO_DEF + 14);
	//player->ADD_GOSSIP_ITEM( 0, "【silverwings.googlecode.com】 "  , 27, GOSSIP_ACTION_INFO_DEF + 14);
    player->SEND_GOSSIP_MENU(99990,_Creature->GetGUID());
    return true;
}
void SendDefaultMenu_Teleport(Player *player, Creature *_Creature, uint32 action)
{
        switch(action) {
                // 主城
                case GOSSIP_ACTION_INFO_DEF + 1 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 2, GOSSIP_ACTION_INFO_DEF + 99);    
                  //判断阵营传送                              
                  if(player->getRace() == 1 || player->getRace() == 3 || player->getRace() == 4 || player->getRace() == 7 || player->getRace() == 11) //判断是否联盟
                  {
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]联盟 暴风城(学技能) "                , 2, GOSSIP_ACTION_INFO_DEF + 1);
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]联盟 铁炉堡 "                , 2, GOSSIP_ACTION_INFO_DEF + 2);
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]联盟 达纳苏斯 "              , 2, GOSSIP_ACTION_INFO_DEF + 3);
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]联盟 埃索达 "              , 2, GOSSIP_ACTION_INFO_DEF + 20);
					 //player->ADD_GOSSIP_ITEM( 8, " ·[城]联盟 荣耀堡 "              , 2, GOSSIP_ACTION_INFO_DEF + 33);
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]联盟 米港 "              , 2, GOSSIP_ACTION_INFO_DEF + 9);
                  }
                  else
                  {
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]部落 奥格瑞玛(学技能) "              , 2, GOSSIP_ACTION_INFO_DEF + 4);
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]部落 雷霆崖 "                , 2, GOSSIP_ACTION_INFO_DEF + 5);
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]部落 幽暗城 "                , 2, GOSSIP_ACTION_INFO_DEF + 6);
                     player->ADD_GOSSIP_ITEM( 8, " ·[城]部落 银月城 "                , 2, GOSSIP_ACTION_INFO_DEF + 21);
					 //player->ADD_GOSSIP_ITEM( 8, " ·[城]部落 萨尔玛 "                , 2, GOSSIP_ACTION_INFO_DEF + 34);
                  }
                  player->ADD_GOSSIP_ITEM( 8, " ·[城]外域 沙斯塔城(STS) "                , 2, GOSSIP_ACTION_INFO_DEF + 15);
                  player->ADD_GOSSIP_ITEM( 8, " ·[城]中立 棘齿城 "                , 2, GOSSIP_ACTION_INFO_DEF + 7);
                  player->ADD_GOSSIP_ITEM( 8, " ·[城]中立 藏宝海湾 "              , 2, GOSSIP_ACTION_INFO_DEF + 8);   
                  player->ADD_GOSSIP_ITEM( 8, " ·[城]中立 塞拉摩岛 "              , 2, GOSSIP_ACTION_INFO_DEF + 10);
                  player->ADD_GOSSIP_ITEM( 8, " ·[城]中立 加基森 "              , 2, GOSSIP_ACTION_INFO_DEF + 11);
                  player->ADD_GOSSIP_ITEM( 8, " ·[城]中立 塞纳里奥要塞 "              , 2, GOSSIP_ACTION_INFO_DEF + 12);
                  player->SEND_GOSSIP_MENU(99991,_Creature->GetGUID());
                break;
                // 初级副本
                case GOSSIP_ACTION_INFO_DEF + 2 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 3, GOSSIP_ACTION_INFO_DEF + 99);    
                        player->ADD_GOSSIP_ITEM( 4, " ·[14] 怒焰裂谷 "            , 3, GOSSIP_ACTION_INFO_DEF + 1);
                        player->ADD_GOSSIP_ITEM( 4, " ·[19] 死亡矿井 "            , 3, GOSSIP_ACTION_INFO_DEF + 2);
                        player->ADD_GOSSIP_ITEM( 4, " ·[22] 哀嚎洞穴 "            , 3, GOSSIP_ACTION_INFO_DEF + 3);
                        player->ADD_GOSSIP_ITEM( 4, " ·[24] 影牙城堡 "            , 3, GOSSIP_ACTION_INFO_DEF + 4);
                        player->ADD_GOSSIP_ITEM( 4, " ·[26] 黑暗深渊 "            , 3, GOSSIP_ACTION_INFO_DEF + 5);
                        player->ADD_GOSSIP_ITEM( 4, " ·[27] 暴风城监狱 "          , 3, GOSSIP_ACTION_INFO_DEF + 6);
                        player->ADD_GOSSIP_ITEM( 4, " ·[31] 剃刀沼泽 "            , 3, GOSSIP_ACTION_INFO_DEF + 7);
                        player->ADD_GOSSIP_ITEM( 4, " ·[33] 诺莫瑞根 "            , 3, GOSSIP_ACTION_INFO_DEF + 8);
                        player->ADD_GOSSIP_ITEM( 4, " ·[40] 血色修道院 "          , 3, GOSSIP_ACTION_INFO_DEF + 9);
                        player->ADD_GOSSIP_ITEM( 4, " ·[42] 剃刀高地 "            , 3, GOSSIP_ACTION_INFO_DEF + 10);
                        player->ADD_GOSSIP_ITEM( 4, " ·[45] 奥达曼 "              , 3, GOSSIP_ACTION_INFO_DEF + 11);
                        player->SEND_GOSSIP_MENU(99992,_Creature->GetGUID());
                        break;

            // 中级副本
                case GOSSIP_ACTION_INFO_DEF + 3 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 4, GOSSIP_ACTION_INFO_DEF + 99);    
                        player->ADD_GOSSIP_ITEM( 4, " ·[46] 祖尔法拉克 "        , 4, GOSSIP_ACTION_INFO_DEF + 1);
                        player->ADD_GOSSIP_ITEM( 4, " ·[49] 玛拉顿 "            , 4, GOSSIP_ACTION_INFO_DEF + 2);
                        player->ADD_GOSSIP_ITEM( 4, " ·[53] 失落的神庙 "        , 4, GOSSIP_ACTION_INFO_DEF + 3);
                        player->ADD_GOSSIP_ITEM( 4, " ·[57] 黑石深渊 "          , 4, GOSSIP_ACTION_INFO_DEF + 4);
                        player->ADD_GOSSIP_ITEM( 4, " ·[60] 通灵学院 "          , 4, GOSSIP_ACTION_INFO_DEF + 5);
                        player->ADD_GOSSIP_ITEM( 4, " ·[60] 厄运之槌 (北区) "   , 4, GOSSIP_ACTION_INFO_DEF + 6);
                        player->ADD_GOSSIP_ITEM( 4, " ·[60] 厄运之槌 (东区) "   , 4, GOSSIP_ACTION_INFO_DEF + 7);
                        player->ADD_GOSSIP_ITEM( 4, " ·[60] 厄运之槌 (西区) "   , 4, GOSSIP_ACTION_INFO_DEF + 8);
                        player->ADD_GOSSIP_ITEM( 4, " ·[60] 斯坦索姆 "          , 4, GOSSIP_ACTION_INFO_DEF + 9);
                        player->ADD_GOSSIP_ITEM( 4, " ·[60] 黑石塔下 "          , 4, GOSSIP_ACTION_INFO_DEF + 10);
                        player->SEND_GOSSIP_MENU(99993,_Creature->GetGUID());
                        break;

                // 高级副本
                case GOSSIP_ACTION_INFO_DEF + 4 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 5, GOSSIP_ACTION_INFO_DEF + 99);    
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 溶火之心(MC) "            , 5, GOSSIP_ACTION_INFO_DEF + 1);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 黑石塔上 "            , 5, GOSSIP_ACTION_INFO_DEF + 2);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 祖尔格拉布(ZG) "          , 5, GOSSIP_ACTION_INFO_DEF + 3);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 黑翼之巢(BWL) "            , 5, GOSSIP_ACTION_INFO_DEF + 4);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 安其拉(TAQ) "              , 5, GOSSIP_ACTION_INFO_DEF + 5);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 安其拉废墟(AQL) "          , 5, GOSSIP_ACTION_INFO_DEF + 6);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 奥妮克希亚的巢穴 "    , 5, GOSSIP_ACTION_INFO_DEF + 7);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 纳克萨玛斯(NAXX) "          , 5, GOSSIP_ACTION_INFO_DEF + 8);
                        player->ADD_GOSSIP_ITEM( 4, " ·[团] 冰龙巢穴 "            , 5, GOSSIP_ACTION_INFO_DEF + 9);
                        player->SEND_GOSSIP_MENU(99994,_Creature->GetGUID());
                        break;
// 其他传送
case GOSSIP_ACTION_INFO_DEF + 77 :
player->ADD_GOSSIP_ITEM( 0, " ·[其] 翡翠圣地 " , 77, GOSSIP_ACTION_INFO_DEF + 2);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 时光之穴 " , 77, GOSSIP_ACTION_INFO_DEF + 3);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 黑暗之门 " , 77, GOSSIP_ACTION_INFO_DEF + 4);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 双塔山 " , 77, GOSSIP_ACTION_INFO_DEF + 5);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 梦境之树 " , 77, GOSSIP_ACTION_INFO_DEF + 6);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 天涯海滩 " , 77, GOSSIP_ACTION_INFO_DEF + 9);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 安戈洛环形山 " , 77, GOSSIP_ACTION_INFO_DEF + 10);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 比吉尔的飞艇残骸 " , 77, GOSSIP_ACTION_INFO_DEF + 11);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 石堡瀑布" , 77, GOSSIP_ACTION_INFO_DEF + 12);
player->ADD_GOSSIP_ITEM( 0, " ·[其] 地铁海底" , 77, GOSSIP_ACTION_INFO_DEF + 13);
player->SEND_GOSSIP_MENU(99888,_Creature->GetGUID());
break;

//特别传送
case GOSSIP_ACTION_INFO_DEF + 38 :
	player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 5, GOSSIP_ACTION_INFO_DEF + 99);    
	player->ADD_GOSSIP_ITEM( 4, " ·海加尔山(公共副本) "                , 12, GOSSIP_ACTION_INFO_DEF + 1);
	player->SEND_GOSSIP_MENU(109888,_Creature->GetGUID());
break;

               // 野外BOSS传送
                case GOSSIP_ACTION_INFO_DEF + 5 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 9, GOSSIP_ACTION_INFO_DEF + 99);    
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]暮色森林 "                , 9, GOSSIP_ACTION_INFO_DEF + 1);
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]辛特兰 "                  , 9, GOSSIP_ACTION_INFO_DEF + 2);
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]灰谷 "                    , 9, GOSSIP_ACTION_INFO_DEF + 3);
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]艾萨拉 "                  , 9, GOSSIP_ACTION_INFO_DEF + 4);
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]菲拉斯 "                  , 9, GOSSIP_ACTION_INFO_DEF + 5);
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]诅咒之地 "                , 9, GOSSIP_ACTION_INFO_DEF + 6);
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]地狱火半岛 - 卡扎克 "     , 9, GOSSIP_ACTION_INFO_DEF + 20);
                        player->ADD_GOSSIP_ITEM( 4, " ·[野]黑暗神殿 - 伊利丹恶魔 "     , 9, GOSSIP_ACTION_INFO_DEF + 21);
						player->ADD_GOSSIP_ITEM( 4, " ·[野]厄运行者 "     , 9, GOSSIP_ACTION_INFO_DEF + 22);
                        player->SEND_GOSSIP_MENU(100008,_Creature->GetGUID()); 
                          break;
              // 三大战场传送
                case GOSSIP_ACTION_INFO_DEF + 6 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 10, GOSSIP_ACTION_INFO_DEF + 99);    
                        player->ADD_GOSSIP_ITEM( 9, " ·[竞]古拉巴什竞技场 "          , 10, GOSSIP_ACTION_INFO_DEF + 1);
                        player->ADD_GOSSIP_ITEM( 9, " ·[战]奥特兰战场 "              , 10, GOSSIP_ACTION_INFO_DEF + 2);
                        player->ADD_GOSSIP_ITEM( 9, " ·[战]战歌峡谷 "                , 10, GOSSIP_ACTION_INFO_DEF + 3);
                        player->ADD_GOSSIP_ITEM( 9, " ·[战]阿拉希战场 "              , 10, GOSSIP_ACTION_INFO_DEF + 4);
						
                        player->SEND_GOSSIP_MENU(100009,_Creature->GetGUID()); 
                          break;
              // OutLand传送
                case GOSSIP_ACTION_INFO_DEF + 7 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 11, GOSSIP_ACTION_INFO_DEF + 99);                          
                        player->ADD_GOSSIP_ITEM( 2, " ·黑暗之门 - 命运阶梯 "                , 11, GOSSIP_ACTION_INFO_DEF + 4);
                        player->ADD_GOSSIP_ITEM( 2, " ·风暴要塞 - 虚空风暴 "                  , 11, GOSSIP_ACTION_INFO_DEF + 5);
                        player->ADD_GOSSIP_ITEM( 2, " ·黑暗神庙 - 影 月 谷 "                , 11, GOSSIP_ACTION_INFO_DEF + 6);
                        player->ADD_GOSSIP_ITEM( 2, " ·格鲁尔巢 - 刀 锋 山 "            , 11, GOSSIP_ACTION_INFO_DEF + 8);
                        player->ADD_GOSSIP_ITEM( 2, " ·奥 金 顿 - 泰罗卡森林 "        , 11, GOSSIP_ACTION_INFO_DEF + 9);
                        player->ADD_GOSSIP_ITEM( 2, " ·地狱堡垒 - 地狱火岛"                 , 11, GOSSIP_ACTION_INFO_DEF + 10);
                        player->ADD_GOSSIP_ITEM( 2, " ·盘牙水库 - 盘牙湖泊"                 , 11, GOSSIP_ACTION_INFO_DEF + 15);
                        player->ADD_GOSSIP_ITEM( 2, " ·风暴尖塔 - 虚空风暴"                 , 11, GOSSIP_ACTION_INFO_DEF + 16);
						player->ADD_GOSSIP_ITEM( 2, " ·海加尔山之战 - 时光之穴"                 , 11, GOSSIP_ACTION_INFO_DEF + 17);
                        player->SEND_GOSSIP_MENU(100010,_Creature->GetGUID());
                        break;
              // 外域副本
                case GOSSIP_ACTION_INFO_DEF + 20 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 25, GOSSIP_ACTION_INFO_DEF + 99);                          
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]地狱火堡垒入口 "                , 25, GOSSIP_ACTION_INFO_DEF + 4);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]地狱火堡垒城墙区 "                  , 25, GOSSIP_ACTION_INFO_DEF + 5);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]地狱火堡垒血熔炉 "                , 25, GOSSIP_ACTION_INFO_DEF + 6);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]地狱火堡垒破碎大厅 "            , 25, GOSSIP_ACTION_INFO_DEF + 8);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]风暴要塞 - 凤凰大厅 "                 , 25, GOSSIP_ACTION_INFO_DEF + 15);
                        player->ADD_GOSSIP_ITEM( 2, " ·[58]风暴要塞 - 生态船 "        , 25, GOSSIP_ACTION_INFO_DEF + 9);
                        player->ADD_GOSSIP_ITEM( 2, " ·[58]风暴要塞 - 禁魔监狱 "                 , 25, GOSSIP_ACTION_INFO_DEF + 10);
                        player->ADD_GOSSIP_ITEM( 2, " ·[58]风暴要塞 - 能源舰 "                 , 25, GOSSIP_ACTION_INFO_DEF + 16);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]盘牙水库入口 "                 , 25, GOSSIP_ACTION_INFO_DEF + 17);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]盘牙水库内部1-左1区 "                 , 25, GOSSIP_ACTION_INFO_DEF + 18);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]盘牙水库内部2-左2区 "                 , 25, GOSSIP_ACTION_INFO_DEF + 19);
                        player->ADD_GOSSIP_ITEM( 2, " ·[团]盘牙水库内部3-右区 "                 , 25, GOSSIP_ACTION_INFO_DEF + 20);
						player->ADD_GOSSIP_ITEM( 2, " ·[团]卡拉赞 "                 , 11, GOSSIP_ACTION_INFO_DEF + 21);
                        player->SEND_GOSSIP_MENU(88888,_Creature->GetGUID());
                        break;
            // 会员地图
                case GOSSIP_ACTION_INFO_DEF + 14 :
                  player->ADD_GOSSIP_ITEM( 7, " 返回到上一级选项菜单 "              , 12, GOSSIP_ACTION_INFO_DEF + 99);   
				  player->ADD_GOSSIP_ITEM( 0, " ·[会]会员服务区 " , 77, GOSSIP_ACTION_INFO_DEF + 8);
                  player->ADD_GOSSIP_ITEM( 4, " ·[会]GM之岛 "                , 12, GOSSIP_ACTION_INFO_DEF + 2);
                  player->ADD_GOSSIP_ITEM( 4, " ·[会]程序员之岛 "                , 12, GOSSIP_ACTION_INFO_DEF + 3);
                  //player->ADD_GOSSIP_ITEM( 4, " ·[会]设计师之岛 "                , 12, GOSSIP_ACTION_INFO_DEF + 4);
                  //player->ADD_GOSSIP_ITEM( 4, " ·[会]世外桃源 "                , 12, GOSSIP_ACTION_INFO_DEF + 5);
                  //player->ADD_GOSSIP_ITEM( 4, " ·[会]黑色沼泽 "                , 12, GOSSIP_ACTION_INFO_DEF + 6);
                  player->ADD_GOSSIP_ITEM( 4, " ·[会]黑暗王国 "                , 12, GOSSIP_ACTION_INFO_DEF + 7);
                  player->ADD_GOSSIP_ITEM( 4, " ·[会]颠峰之战 "                , 12, GOSSIP_ACTION_INFO_DEF + 8);
                  player->ADD_GOSSIP_ITEM( 4, " ·[会]积雪平原 "                , 12, GOSSIP_ACTION_INFO_DEF + 9);
                  player->ADD_GOSSIP_ITEM( 4, " ·[会]海盗王·费希尔 "                , 12, GOSSIP_ACTION_INFO_DEF + 10);
                  player->ADD_GOSSIP_ITEM( 4, " ·[会]海贼王·布拉斯 "                , 12, GOSSIP_ACTION_INFO_DEF + 11);
                  //player->ADD_GOSSIP_ITEM( 4, " ·[会]时光之穴 "                , 12, GOSSIP_ACTION_INFO_DEF + 12);
                  player->SEND_GOSSIP_MENU(100005,_Creature->GetGUID());
                  break;
        }
}
bool GossipSelect_teleport(Player *player, Creature *_Creature, uint32 sender, uint32 action )
{
      uint32 price;
      int icount = 0;

      switch(sender) {
                // 主选单
                case GOSSIP_SENDER_MAIN :
                        SendDefaultMenu_Teleport(player, _Creature, action);
                        break;
                // 各大主城
                case 2 :
                  uint32 price_city;
                  price_city= 0; //city    

                  // 返回
                  if (action == GOSSIP_ACTION_INFO_DEF + 99)
                  {
                     GossipHello_teleport(player,_Creature);
                     break;
                  }
                  switch(action) {
                                
                        // 暴风城 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 1 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(0,-9065,434,94,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 铁炉堡
                                case GOSSIP_ACTION_INFO_DEF + 2 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(0,-5032,-819,495,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 达纳苏斯
                                case GOSSIP_ACTION_INFO_DEF + 3 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(1,9961,2055,1329,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 奥格瑞玛
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(1,1317,-4383,27,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 雷霆崖
                                case GOSSIP_ACTION_INFO_DEF + 5 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(1,-1391,140,23,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 幽暗城
                                case GOSSIP_ACTION_INFO_DEF + 6 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(0,1909,235,53,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 银月城
                                case GOSSIP_ACTION_INFO_DEF + 21 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(530,9336.9f,-7278.4f,13.6f,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 棘齿城 
                                case GOSSIP_ACTION_INFO_DEF + 7 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(1,-977,-3788,6,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // 沙斯塔城 声望势力
                                case GOSSIP_ACTION_INFO_DEF + 15 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(530,-1831,5297,-12,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                                // 藏宝海湾
                                case GOSSIP_ACTION_INFO_DEF + 8 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(0,-14302,518,9,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                               // 联盟 埃索达
                                case GOSSIP_ACTION_INFO_DEF + 20 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(530,-4071.7f,-12036.7f,-1.5f,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                               // 联盟 米港
                                case GOSSIP_ACTION_INFO_DEF + 9 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(0,-3819.947266,-773.516724,8.037187,2.130255);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                               // 塞拉摩岛
                                case GOSSIP_ACTION_INFO_DEF + 10 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(1,-3831.372314,-4543.464844,9.218617,0.806);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                               // 加基森
                                case GOSSIP_ACTION_INFO_DEF + 11 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(1,-7168.230957,-3810.9946,8.370446,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                               // 荣耀堡
                                case GOSSIP_ACTION_INFO_DEF + 33 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(530,-730.913574,2674.132568,96.485306,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                               // 萨尔玛
                                case GOSSIP_ACTION_INFO_DEF + 34 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(530,118.442963,2674.263672,83.406242,0);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                               // 塞纳里奥要塞
                                case GOSSIP_ACTION_INFO_DEF + 12 :
                           if (player->GetMoney() >= price_city) 
                           {
                              player->ModifyMoney(-int32(price_city));
                                        player->TeleportTo(1,-6761.521484,772.556580,91.578293,1.62);
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                                        break;
                     }

                  //关闭菜单
                  player->PlayerTalkClass->CloseGossip();
                        break;

                // 初级副本
                case 3:
                  price= 0; //所需的金币数（在该数上除以10000即为金币数）    

                  // 返回
                  if (action == GOSSIP_ACTION_INFO_DEF + 99)
                  {
                     GossipHello_teleport(player,_Creature);
                     break;
                  }

                  if (player->GetMoney() >= price) 
                  {
                     player->ModifyMoney(-int32(price));
                     switch(action) {
                                // ·[14] 怒焰裂谷 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 1 :                           
                                        player->TeleportTo(389,2.024650,-10.021000,-16.187500,0);
                                        break;
                                // ·[19] 死亡矿井
                                case GOSSIP_ACTION_INFO_DEF + 2 :
                                        player->TeleportTo(36,-16.4,-383.07,61.78,0);
                                        break;
                                // ·[22] 哀嚎洞穴
                                case GOSSIP_ACTION_INFO_DEF + 3 :
                                        player->TeleportTo(43,-161.841995,133.266998,-73.866203,0);
                                        break;
                                // ·[24] 影牙城堡
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                                        player->TeleportTo(33,-228.19,2110.56,76.89,0);
                                        break;
                                // ·[26] 黑暗深渊
                                case GOSSIP_ACTION_INFO_DEF + 5 :
                                        player->TeleportTo(48,-150.367004,102.995003,-40.555801,0);
                                        break;
                                // ·[27] 暴风城监狱
                                case GOSSIP_ACTION_INFO_DEF + 6 :
                                        player->TeleportTo(34,48.29,0.45,-16.14,0);
                                        break;
                                // ·[31] 剃刀沼泽
                                case GOSSIP_ACTION_INFO_DEF + 7 :
                                        player->TeleportTo(47,1943,1544,82,0);
                                        break;
                                // ·[33] 诺莫瑞根
                                case GOSSIP_ACTION_INFO_DEF + 8 :
                                        player->TeleportTo(90,-332.562988,-3.445,-152.845993,0);
                                        break;
                                // ·[40] 血色修道院
                                case GOSSIP_ACTION_INFO_DEF + 9 :
                                        player->TeleportTo(189,855.903992,1321.939941,18.673000,0);
                                        break;
                                // ·[42] 剃刀高地
                                case GOSSIP_ACTION_INFO_DEF + 10 :
                                        player->TeleportTo(129,2593.209961,1109.459961,51.093300,0);
                                        break;
                                // ·[45] 奥达曼
                                case GOSSIP_ACTION_INFO_DEF + 11 :
                                        player->TeleportTo(70,-227.529007,45.009800,-46.019600,0);
                                        break;
                                
                     }

                     //关闭菜单
                     player->PlayerTalkClass->CloseGossip();
                  }
                  else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                        break;

                // 中级副本
                case 4:
                  price= 0; //所需的金币数（在该数上除以10000即为金币数）    
                  // 返回
                  if (action == GOSSIP_ACTION_INFO_DEF + 99)
                  {
                     GossipHello_teleport(player,_Creature);
                     break;
                  }

                  if (player->GetMoney() >= price) 
                  {
                     if (player->GetMoney() >= price) 
                     {
                        player->ModifyMoney(-int32(price));
                        switch(action) {
                                // ·[46] 祖尔法拉克 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 1 :
                                        player->TeleportTo(209,1213,841,8.9,0);

                                        break;
                                // ·[49] 玛拉顿
                                case GOSSIP_ACTION_INFO_DEF + 2 :
                                        player->TeleportTo(349,1012.700012,-459.317993,-43.547100,0);
                              
                                        break;
                                // ·[53] 失落的神庙
                                case GOSSIP_ACTION_INFO_DEF + 3 :
                                        player->TeleportTo(109,-313.369995,99.955399,-131.848999,0);
                              
                                        break;
                                // ·[57] 黑石深渊
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                                        player->TeleportTo(230,456.928986,34.927700,-69.388100,0);
                              
                                        break;
                                // ·[60] 通灵学院
                                case GOSSIP_ACTION_INFO_DEF + 5 :
                                        player->TeleportTo(289,199,126,135,0);
                                        break;
                                // ·[60] 厄运之槌 (北区)
                                case GOSSIP_ACTION_INFO_DEF + 6 :
                                        player->TeleportTo(429,255.164001,-17.024200,-2.560600,0);
                                        break;
                                // ·[60] 厄运之槌 (东区)
                                case GOSSIP_ACTION_INFO_DEF + 7 :
                                        player->TeleportTo(429,46.24,-155.53,-2.71349,0);
                                        break;
                                // ·[60] 厄运之槌 (西区)
                                case GOSSIP_ACTION_INFO_DEF + 8 :
                                        player->TeleportTo(429,32.722599,159.417007,-3.470170,0);
                                        break;
                                // ·[60] 斯坦索姆
                                case GOSSIP_ACTION_INFO_DEF + 9 :
                                        player->TeleportTo(329,3392,-3379,143,0);
                                        break;
                                // ·[60] 黑石塔下
                                case GOSSIP_ACTION_INFO_DEF + 10 :
                                        player->TeleportTo(229,78.19,-227.63,49.72,0);
                                        break;
                     }
                        //关闭菜单
                        player->PlayerTalkClass->CloseGossip();
                     }
                     else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                  }
                  else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                        break;

                // 高级副本
                case 5:
                  price = 0;
                  switch(action) {
                        
                        // ·[团] 溶火之心 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 1 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                              player->TeleportTo(409,1089.601685,-470.190247,-106.413055,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // ·[团] 黑石塔上
                                case GOSSIP_ACTION_INFO_DEF + 2 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(229,78.339836,-227.793518,49.7103,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // ·[团] 祖尔格拉布
                                case GOSSIP_ACTION_INFO_DEF + 3 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(309,-11916,-1251.469971,92.32,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // ·[团] 黑翼之巢
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(469,-7674.470215,-1108.380005,396.649994,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // ·[团] 安其拉
                                case GOSSIP_ACTION_INFO_DEF + 5 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(531,-8212.002930,2034.474854,129.141342,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // ·[团] 安其拉废墟
                                case GOSSIP_ACTION_INFO_DEF + 6 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(509,-8443.475586,1518.648560,31.906958,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // ·[团] 奥妮克希亚的巢穴
                                case GOSSIP_ACTION_INFO_DEF + 7 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(249,30.010290,-58.840508,-5.325367,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                        //·[团] 纳克萨玛斯 
                                case GOSSIP_ACTION_INFO_DEF + 8 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(533,3005.87,-3435.01,293.882,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                         // ·[团] 冰龙巢穴
                                case GOSSIP_ACTION_INFO_DEF + 9 :
                           if (player->GetMoney() >= price) 
                           {
                              player->ModifyMoney(-int32(price));
                                        player->TeleportTo(533,3498.246,-5350.69,144.969406,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // 返回
                                case GOSSIP_ACTION_INFO_DEF + 99 :
                              GossipHello_teleport(player,_Creature);
                                        break;
                     }
                        break;
 
 
 
                // 野外BOSS坐标
                case 9:
                        uint32 price_worldboss;
                  price_worldboss = 0;
                  if (action == GOSSIP_ACTION_INFO_DEF + 99)
                  {
                     GossipHello_teleport(player,_Creature);
                     break;
                  }
                  switch(action)
                  {                        
                                // 暮色森林 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 1 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(0,-10526.168945,-434.996796,50.894821,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // 辛特兰
                                case GOSSIP_ACTION_INFO_DEF + 2 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(0,723.484802,-3938.491455,108.778984,0);
                              player->PlayerTalkClass->CloseGossip();
                              }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // 灰谷
                                case GOSSIP_ACTION_INFO_DEF + 3 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(1,3169.354980,-3779.397461,121.746422,1);
                              player->PlayerTalkClass->CloseGossip();
                              }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                //  艾萨拉
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(1,2652.669922,-6128.740234,99.943604,1);
                              player->PlayerTalkClass->CloseGossip();
                              }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // 菲拉斯
                                case GOSSIP_ACTION_INFO_DEF + 5 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(1,-2741.290039,2009.481323,31.877323,1);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // 卡扎克
                                case GOSSIP_ACTION_INFO_DEF + 20 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(530,913,2270,310,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                        // 伊利丹
                                case GOSSIP_ACTION_INFO_DEF + 21 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(564,681.527771,305.504608,353.191986,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                        // 厄运行者
                                case GOSSIP_ACTION_INFO_DEF + 22 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(530,-3562.800049,247.600006,42.896927,0);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                                // 诅咒之地
                                case GOSSIP_ACTION_INFO_DEF + 6 :
                           if (player->GetMoney() >= price_worldboss) 
                           {
                              player->ModifyMoney(-int32(price_worldboss));
                                        player->TeleportTo(0,-12170.346680,-2419.297607,0.139131,4.138260);
                              player->PlayerTalkClass->CloseGossip();
                           }
                           else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                           break;
                  }

                  break;
         
             // 三大战场坐标
            case 10 :
                  price= 0; //所需的金币数（在该数上除以10000即为金币数）    
                  // 返回
                  if (action == GOSSIP_ACTION_INFO_DEF + 99)
                  {
                     GossipHello_teleport(player,_Creature);
                     break;
                  }

                  if (player->GetMoney() >= price) 
                  {
                     player->ModifyMoney(-int32(price));
                     switch(action) {
                                // 古拉巴什竞技场 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 1 :
                                        player->TeleportTo(0,-13289.353516,118.628067,24.414938,1.047498);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                // 奥特兰战场（部落）
                                case GOSSIP_ACTION_INFO_DEF + 2 :
                              //判断阵营传送                              
                              if(player->getRace() == 1 || player->getRace() == 3 || player->getRace() == 4 || player->getRace() == 7 || player->getRace() == 11) //判断是否联盟
                                 player->TeleportTo(30,775.339111,-493.310577,99.077736,2.901615);
                              else
                                 player->TeleportTo(30,-1190.994629,-283.090942,73.171547,1.301511);

                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                // 战歌峡谷（部落）
                                case GOSSIP_ACTION_INFO_DEF + 3 :
                              //判断阵营传送                              
                              if(player->getRace() == 1 || player->getRace() == 3 || player->getRace() == 4 || player->getRace() == 7 || player->getRace() == 11) //判断是否联盟
                                 player->TeleportTo(489,1523.260010,1480.839966,352.013336,3.222604);
                              else
                                 player->TeleportTo(489,929.166199,1432.885986,345.535767,0.048814);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                // 阿拉希战场（部落）
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                              //判断阵营传送                              
                              if(player->getRace() == 1 || player->getRace() == 3 || player->getRace() == 4 || player->getRace() == 7 || player->getRace() == 11) //判断是否联盟
                                 player->TeleportTo(529,1313.914063,1287.222046,-13.325586,3.818803);
                              else
                                 player->TeleportTo(529,673.071167,709.182800,-15.176502,0.99);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                     }
                  }
                  else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                        break;

             // 外域传送
            case 11 :
                        switch(action) {
                                //黑暗之门 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                                        player->TeleportTo(530,-246.600006,946.000000,84.400002,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                //风暴要塞 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 5 :
                                        player->TeleportTo(530, 3087.556885, 1387.229980, 185.037415,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                //黑暗神庙 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 6 :
                                        player->TeleportTo(530,-3562.800049,247.600006,42.896927,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //格鲁尔的巢穴 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 8 :
                                        player->TeleportTo(530,3545.9f,5090.0f,3.4f,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //奥金顿 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 9 :
                                        player->TeleportTo(555,-0.841954,2.346220,-1.127880,5.940752);
                              player->PlayerTalkClass->CloseGossip();
                              break;
                               //地狱火堡垒 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 10 :
                                        player->TeleportTo(555, 2.164014, 0.402381, -1.127880,0);
                              player->PlayerTalkClass->CloseGossip();
                              break;
                               //风暴尖塔 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 16 :
                                        player->TeleportTo(530,4204,2999,339,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //盘牙水库 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 15 :
                                        player->TeleportTo(530,733,6847,-66,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //卡拉赞 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 21 :
                                        player->TeleportTo(0,-11108.200195,-2027.520020,47.070000, 0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
							   //海加尔山 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 17 :
                                        player->TeleportTo(534,5070.084473,-1791.984497,1320.995483,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                // 返回
                                case GOSSIP_ACTION_INFO_DEF + 99 :
                              GossipHello_teleport(player,_Creature);
                                        break;
                     }
                        break;
             // 外域副本
            case 25 :
                        switch(action) {
                                //地狱火堡垒1 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 4 :
                                        player->TeleportTo(555, 2.164014, 0.402381, -1.127880,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                //地狱火堡垒2 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 5 :
                                        player->TeleportTo(543,-1338.0,1657.7,68.8,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                //地狱火堡垒3 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 6 :
                                        player->TeleportTo(542,-3,11,-45,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //地狱火堡垒4 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 8 :
                                        player->TeleportTo(540,-41,-22,-14,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //风暴要塞1 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 9 :
                                        player->TeleportTo(553,40.0,-28.6,-1.1,0);
                              player->PlayerTalkClass->CloseGossip();
                              break;
                               //风暴要塞2 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 10 :
                                        player->TeleportTo(552,-1.2,0.0,-0.2,0);
                              player->PlayerTalkClass->CloseGossip();
                              break;
                               //风暴要塞3 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 16 :
                                        player->TeleportTo(554,-20.737534,1.450747,-1.812820,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //风暴要塞4 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 15 :
                                        player->TeleportTo(550,-6.8,-0.9,-2.4,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //盘牙水库1 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 17 :
                                        player->TeleportTo(530,891.4f,6865.7f,-66.9f,0);
                              player->PlayerTalkClass->CloseGossip();
                              break;
                               //盘牙水库2 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 18 :
                                        player->TeleportTo(547,120.5f,-134.9f,-1.3f,0);
                              player->PlayerTalkClass->CloseGossip();
                              break;
                               //盘牙水库3 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 19 :
                                        player->TeleportTo(545,-7.5f,5.9f,-4.3f,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                               //盘牙水库4 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 20 :
                                        player->TeleportTo(546,9.7f,-16.2f,-2.7f,0);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                                // 返回
                                case GOSSIP_ACTION_INFO_DEF + 99 :
                              GossipHello_teleport(player,_Creature);
                                        break;
                     }
                        break;
// 风景传送
case 77 :
switch(action) {
//翡翠圣地 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 2 :
player->TeleportTo(1,3968.264648,-1290.036011,240.326889,5.927989);
break;
//时光之穴 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 3 :
player->TeleportTo(1,-8173.930176,-4737.463867,33.777351,4.772119);
break;
//黑暗之门 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 4 :
player->TeleportTo(0,-11849.031250,-3201.170654,-28.885090,3.280838);
break;
//双塔山 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 5 :
player->TeleportTo(1,-3331.353271,2225.728271,30.987701,6.267522);
break;
//梦境之树 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 6 :
player->TeleportTo(1,-2914.756104,1902.199341,34.741035,5.690404);
break;
//暴雪建设公司路障 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 8 :
player->TeleportTo(1,5478.060059,-3730.850098,1593.439941,5.610376);
break;
//天涯海滩 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 9 :
player->TeleportTo(1,-9851.617188,-3608.474121,8.939731,2.513388);
break;
//安戈洛环形山 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 10 :
player->TeleportTo(1,-8562.096680,-2106.056641,8.852538,0.090425);
break;
//比吉尔的飞艇残骸 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 11 :
player->TeleportTo(1,-4014.003418,-3768.186523,42.123295,5.220697);
break;
//石堡瀑布 统一格式说明：(MapID, X, Y, Z, 0);
case GOSSIP_ACTION_INFO_DEF + 12 :
player->TeleportTo(0,-9481.493164,-3326.915283,8.864347,0.846896);
break;
//地铁海底
case GOSSIP_ACTION_INFO_DEF + 13 :
player->TeleportTo(369, -9.96166,1238.17,-126.102,0);
break;
}
break;


            //Other副本
            case 12:
                  //返回
                  if (action == GOSSIP_ACTION_INFO_DEF + 99)
                  {
                     GossipHello_teleport(player,_Creature);
                     break;
                  }

                  //TODO:会员副本，判断是否会员
                  if(player->GetSession()->GetSecurity() >=1 )
                  {                     
                     switch(action) {
                                //海加尔山 统一格式说明：(MapID, X, Y, Z, 0);
                                case GOSSIP_ACTION_INFO_DEF + 1 :
                                        player->TeleportTo(1,4603.946777,-3879.250977,944.183472,1);
                              player->PlayerTalkClass->CloseGossip();
                                        break;
                        //GM之岛
                        case GOSSIP_ACTION_INFO_DEF + 2 :
                                 player->TeleportTo(1,16221.692383,16244.137695,11.214029,1);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //程序员之岛
                        case GOSSIP_ACTION_INFO_DEF + 3 :
                                 player->TeleportTo(451,16218.156250,16110.160156,69.444603,1);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //设计师之岛
                        case GOSSIP_ACTION_INFO_DEF + 4 :
                                 player->TeleportTo(451,16561.464844,-15993,40.87,1);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //世外桃源（青草平原）
                        case GOSSIP_ACTION_INFO_DEF + 5 :
                                 player->TeleportTo(169,-2674.5,-2275.8,148.3,1);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //黑色沼泽
                        case GOSSIP_ACTION_INFO_DEF + 6 :
                                 player->TeleportTo(269,-1728.835815,7080.052246,22.260035,2.924944);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //黑暗王国（旧铁炉堡）
                        case GOSSIP_ACTION_INFO_DEF + 7 :
                                 player->TeleportTo(0,-4856.851074,-1005.967285,453.764648,0.611951);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //颠峰之战
                        case GOSSIP_ACTION_INFO_DEF + 8 :
                                 player->TeleportTo(1,-4916.811523,-1594.494019,100.260521,5.944021);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //积雪平原
                        case GOSSIP_ACTION_INFO_DEF + 9 :
                                 player->TeleportTo(37,-307.094269,-309.143494,295.928040,1.838574);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //海盗王·费希尔
                        case GOSSIP_ACTION_INFO_DEF + 10 :
                                 player->TeleportTo(1,-7178.110840,-5379.802246,13.199080,3.757303);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //海贼王·布拉斯
                        case GOSSIP_ACTION_INFO_DEF + 11 :
                                 player->TeleportTo(1,-7104.229980,-5434.966797,6.321137,0.703673);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;

                        //时光之穴
                        case GOSSIP_ACTION_INFO_DEF + 12 :
                                 player->TeleportTo(1,-8169.969727,-4755.458496,33.338657,4.919688);
                                 player->PlayerTalkClass->CloseGossip();
                                 break;
                  }
                  }
                  else
                  {
                     player->SEND_GOSSIP_MENU(100000,_Creature->GetGUID()); 
                  }
                  break;

            //开飞行点
            case 23:
                  uint32 price_flags;
                  price_flags = 0; //收100G的钱 
                  
                  //TODO:判断是否已开通所有飞行点                   
                  for (uint8 i=0; i<8; i++)
                  { 
                     if(player->GetTutorialInt(i) == 0xFFFFFFFF)
                     {
                        icount++;
                     }
                  }
                  if(icount == 8)
                  {
                     player->SEND_GOSSIP_MENU(99998,_Creature->GetGUID()); 
                  }
                  else
                  {
                     if (player->GetMoney() >= price_flags) 
                        {
                           player->ModifyMoney(-int32(price_flags));
                           for (uint8 i=0; i<8; i++)
                              { player->SetTaximask(i, 0xFFFFFFFF); }
                           player->SEND_GOSSIP_MENU(99995,_Creature->GetGUID()); 
                        }
                     else player->SEND_GOSSIP_MENU(99997,_Creature->GetGUID());
                  }
                  break;
                     


            //银行
            //case 20 :
               //player->SEND_BANKERLIST(_Creature->GetGUID() );
               //break;

            //工资系统
            case 22 :
                     if(player->GetLevelPlayedTime() > 7200) // 条件检查你在线时间大于2个小时．这可以自己改(单位:秒)
                     {
                     float money = 0;
                     //TODO:工资系统，根据游戏时间来发工资
                     //规则：工资=总游戏时间/5小时*100000+100000    
                     money = (float)(player->GetTotalPlayedTime() / (5*3600) * 100000 + 100000);

                     //限制非会员最大工资额为500G
                     if(money > 5000000)
                        money = 5000000;

                     //TODO:发工资，判断是否会员，会员工资翻4倍
                     if(player->GetSession()->GetSecurity() >=1 )
                     {
                        money *= 4;  //1000000;//sWorld.getRate(Rate_VIP_Money);
                     }

                        player->ModifyMoney(int32(money));      //满足条件获得金币
                     player->SetInGameTime(uint32(NULL));   //将在玩家在线时间归零
                     player->SEND_GOSSIP_MENU(100001,_Creature->GetGUID()); 
                     }
                else 
                     { 
                   player->SEND_GOSSIP_MENU(99999,_Creature->GetGUID()); 
                }
   
                     break;
             


            //技能熟练提升到最大
            case 26 :
               player->UpdateSkillsToMaxSkillsForLevel();
               player->SEND_GOSSIP_MENU(100002,_Creature->GetGUID()); 
               break;
          }  


return true;
}


bool GossipSelectWithCode_teleport( Player *player, Creature *_Creature, uint32 sender, uint32 action, char* sCode )
{

  return false;
}

bool QuestAccept_teleport( Player *player, Creature *_Creature, Quest *_Quest )
{

  return false;
}

bool QuestSelect_teleport( Player *player, Creature *_Creature, Quest *_Quest )
{

  return false;
}

bool QuestComplete_teleport( Player *player, Creature *_Creature, Quest *_Quest )
{

  return false;
}

bool ChooseReward_teleport( Player *player, Creature *_Creature, Quest *_Quest, uint32 opt )
{

  return false;
}

uint32 NPCDialogStatus_teleport( Player *player, Creature *_Creature )
{
  return 128;
}

void AddSC_teleport()
{
  Script *newscript;

  newscript = new Script;
  newscript->Name="teleport";
  newscript->pGossipHello       = &GossipHello_teleport;
  newscript->pQuestAccept       = &QuestAccept_teleport;
  newscript->pGossipSelect       = &GossipSelect_teleport;
  newscript->pGossipSelectWithCode = &GossipSelectWithCode_teleport;
  newscript->pQuestSelect       = &QuestSelect_teleport;
  newscript->pQuestComplete     = &QuestComplete_teleport;
  newscript->pNPCDialogStatus     = &NPCDialogStatus_teleport;
  newscript->pChooseReward       = &ChooseReward_teleport;
  newscript->pItemHello         = NULL;
  newscript->pGOHello         = NULL;
  newscript->pAreaTrigger       = NULL;
  newscript->pItemQuestAccept     = NULL;
  newscript->pGOQuestAccept     = NULL;
  newscript->pGOChooseReward     = NULL;

  m_scripts[nrscripts++] = newscript;
}